package com.ruoyi.ldzlsb.domain;

import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 巡检单对象 sb_inspection_record
 *
 * @author anli
 * @date 2025-01-11
 */
public class SbInspectionRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 巡检单ID */
    private Long recordId;

    /** 巡检单编号 */
    @Excel(name = "巡检单编号")
    private String recordCode;

    /** 巡检计划ID */
    private Long planId;

    /** 巡检计划 */
    private SbInspectionPlan plan;

    
    /** 巡检计划编号 */
    private String planCode;
    
    /** 巡检计划名称 */
    private String planName;
    
    /** 巡检配置ID */
    private Long configId;
    
    /** 巡检配置编号 */
    private String configCode;
    
    /** 巡检配置名称 */
    private String configName;

    /** 设备ID */
    private Long equipmentId;
    
    /** 设备编码 */
    private String equipmentCode;
    
    /** 设备名称 */
    @Excel(name = "设备名称")
    private String equipmentName;
    
    /** 设备 */
    private SbEquipment equipment;

    /** 巡检人员ID */
    private Long inspectorId;

    /** 巡检人员名称 */
    @Excel(name = "巡检人员")
    private String inspectorName;

    /** 部门ID */
    private Long deptId;
    
    /** 部门名称 */
    private String deptName;

    /** 巡检日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "巡检日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date inspectionDate;

    /** 巡检开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "巡检开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /** 巡检结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "巡检结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /** 巡检结果（0正常 1异常） */
    @Excel(name = "巡检结果", readConverterExp = "0=正常,1=异常")
    private String result;

    /** 异常描述 */
    @Excel(name = "异常描述")
    private String abnormalDesc;

    /** 处理建议 */
    @Excel(name = "处理建议")
    private String suggestion;
    
    /** 纠正措施 */
    private String correctiveActions;
    
    /** 下次巡检建议 */
    private String nextInspectionSuggestion;

    /** 状态（0待巡检 1巡检中 2已完成 3已取消） */
    @Excel(name = "状态", readConverterExp = "0=待巡检,1=巡检中,2=已完成,3=已取消")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    private String isDelete;

    /** 巡检明细列表 */
    private List<SbInspectionDetail> inspectionDetailList;

    public void setRecordId(Long recordId)
    {
        this.recordId = recordId;
    }

    public Long getRecordId()
    {
        return recordId;
    }

    public void setRecordCode(String recordCode)
    {
        this.recordCode = recordCode;
    }

    public String getRecordCode()
    {
        return recordCode;
    }

    public void setPlanId(Long planId)
    {
        this.planId = planId;
    }

    public Long getPlanId()
    {
        return planId;
    }
    
    public SbInspectionPlan getPlan()
    {
        return plan;
    }
    
    public void setPlan(SbInspectionPlan plan)
    {
        this.plan = plan;
    }
    
    public String getPlanCode() {
        return planCode;
    }
    
    public void setPlanCode(String planCode) {
        this.planCode = planCode;
    }
    
    public String getPlanName() {
        return planName;
    }
    
    public void setPlanName(String planName) {
        this.planName = planName;
    }
    
    public Long getConfigId() {
        return configId;
    }
    
    public void setConfigId(Long configId) {
        this.configId = configId;
    }
    
    public String getConfigCode() {
        return configCode;
    }
    
    public void setConfigCode(String configCode) {
        this.configCode = configCode;
    }
    
    public String getConfigName() {
        return configName;
    }
    
    public void setConfigName(String configName) {
        this.configName = configName;
    }

    public void setEquipmentId(Long equipmentId)
    {
        this.equipmentId = equipmentId;
    }

    public Long getEquipmentId()
    {
        return equipmentId;
    }
    
    public String getEquipmentCode()
    {
        return equipmentCode;
    }
    
    public void setEquipmentCode(String equipmentCode)
    {
        this.equipmentCode = equipmentCode;
    }
    
    public String getEquipmentName()
    {
        return equipmentName;
    }
    
    public void setEquipmentName(String equipmentName)
    {
        this.equipmentName = equipmentName;
    }
    
    public SbEquipment getEquipment()
    {
        return equipment;
    }
    
    public void setEquipment(SbEquipment equipment)
    {
        this.equipment = equipment;
    }

    public void setInspectorId(Long inspectorId)
    {
        this.inspectorId = inspectorId;
    }

    public Long getInspectorId()
    {
        return inspectorId;
    }

    public void setInspectorName(String inspectorName)
    {
        this.inspectorName = inspectorName;
    }

    public String getInspectorName()
    {
        return inspectorName;
    }
    
    public Date getInspectionDate()
    {
        return inspectionDate;
    }
    
    public void setInspectionDate(Date inspectionDate)
    {
        this.inspectionDate = inspectionDate;
    }

    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }

    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }

    public void setResult(String result)
    {
        this.result = result;
    }

    public String getResult()
    {
        return result;
    }

    public void setAbnormalDesc(String abnormalDesc)
    {
        this.abnormalDesc = abnormalDesc;
    }

    public String getAbnormalDesc()
    {
        return abnormalDesc;
    }

    public void setSuggestion(String suggestion)
    {
        this.suggestion = suggestion;
    }

    public String getSuggestion()
    {
        return suggestion;
    }
    
    public String getCorrectiveActions()
    {
        return correctiveActions;
    }
    
    public void setCorrectiveActions(String correctiveActions)
    {
        this.correctiveActions = correctiveActions;
    }
    
    public String getNextInspectionSuggestion()
    {
        return nextInspectionSuggestion;
    }
    
    public void setNextInspectionSuggestion(String nextInspectionSuggestion)
    {
        this.nextInspectionSuggestion = nextInspectionSuggestion;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setIsDelete(String isDelete)
    {
        this.isDelete = isDelete;
    }

    public String getIsDelete()
    {
        return isDelete;
    }

    public List<SbInspectionDetail> getInspectionDetailList()
    {
        return inspectionDetailList;
    }

    public void setInspectionDetailList(List<SbInspectionDetail> inspectionDetailList)
    {
        this.inspectionDetailList = inspectionDetailList;
    }

    public String getInspectionStatus() {
        return this.status;
    }

    public void setInspectionStatus(String status) {
        this.status = status;
    }
    
    public String getInspectionResult() {
        return this.result;
    }
    
    public void setInspectionResult(String result) {
        this.result = result;
    }
    
    public String getExceptionDescription() {
        return this.abnormalDesc;
    }
    
    public void setExceptionDescription(String description) {
        this.abnormalDesc = description;
    }

    public void setInspectionStartTime(Date startTime) {
        this.startTime = startTime;
    }

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getInspectionStartTime() {
        return this.startTime;
    }

    public void setInspectionEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Long getDeptId()
    {
        return deptId;
    }

    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }
    
    public String getDeptName()
    {
        return deptName;
    }
    
    public void setDeptName(String deptName)
    {
        this.deptName = deptName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("recordCode", getRecordCode())
            .append("planId", getPlanId())
            .append("planCode", getPlanCode())
            .append("planName", getPlanName())
            .append("configId", getConfigId())
            .append("configCode", getConfigCode())
            .append("configName", getConfigName())
            .append("equipmentId", getEquipmentId())
            .append("equipmentCode", getEquipmentCode())
            .append("equipmentName", getEquipmentName())
            .append("inspectorId", getInspectorId())
            .append("inspectorName", getInspectorName())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("inspectionDate", getInspectionDate())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("result", getResult())
            .append("abnormalDesc", getAbnormalDesc())
            .append("suggestion", getSuggestion())
            .append("correctiveActions", getCorrectiveActions())
            .append("nextInspectionSuggestion", getNextInspectionSuggestion())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isDelete", getIsDelete())
            .append("remark", getRemark())
            .append("inspectionDetailList", getInspectionDetailList())
            .toString();
    }
} 